package bddstyle;

import org.junit.Before;
import static org.mockito.Mockito.*;

public abstract class StaticContextSpecification {

    @Before
    public void beforeEachTest() {
        arrange_context();
        because();
    }

    protected abstract void arrange_context();
    protected abstract void because();

    protected final<T> T an(final Class<T> typeToMock) {
        return dependency(typeToMock);
    }

    protected final<T> T dependency(final Class<T> typeToMock) {
        return mock(typeToMock);
    }
}
